Integrated circuits may be implemented in a device for processing data. Further, the data may be processed according to different protocols which may be proprietary protocols or public protocols which conform to data transmission standards. However, depending upon a given protocol, different hardware elements may be required. The implementation of the various hardware elements may affect the performance of the device, such as throughput, latency and power consumption, for example. Each of these performance criterion continues to be significant in the evaluation of a device. That is, circuit developers continue to improve the speed of a device while reducing the power consumed by the device.
Further, there is considerable effort to reduce the cost of implementing integrated circuits. One way of reducing the cost of implementing integrated circuits is to enable a given circuit to be used in a variety of different applications. That is, if a circuit can be programmed to operate in different configurations and implement different circuits, a more cost efficient device having integrated circuits may be achieved. One area of data processing which may benefit from circuit improvements is the implementation of a key-value store (KVS). A conventional server may use its main memory for the key-value store, and has a network adapter to interface with the clients. The central processing unit (CPU) of the server may be used to handle the transaction-level processing, reads and writes to memory, hashing, hash table maintenance and all communication-related activities. However, such an arrangement is inefficient. Accordingly, there is a need for devices which provide flexibility and therefore improve the performance of data processing while reducing power consumption.